home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / telecomm / fnordadl / fn132src.zoo / citutil / netmap.c < prev    next >
C/C++ Source or Header  |  1991-09-02  |  2KB  |  111 lines

  1. /*
  2.  * netmap.c - generate roomsharing maps for a system
  3.  *
  4.  * 88Jul30 orc    Add -p flag to only list public rooms
  5.  * 88Jun21 orc    Created.
  6.  */
  7.  
  8. #include "ctdl.h"
  9. #include "net.h"
  10. #include "room.h"
  11. #include "config.h"
  12. #include "citlib.h"
  13.  
  14. char *program = "netmap";
  15. char private=YES;
  16. struct alias *net_alias;    /* changed from char * by AA 90Dec14 */
  17.  
  18. void
  19. normalise(s)
  20. char *s;
  21. {
  22.     char *pc = s;
  23.  
  24.     /* find end of string   */
  25.     while (*pc)   {
  26.     if (*pc < ' ')
  27.         *pc = ' ';   /* zap tabs etc... */
  28.     pc++;
  29.     }
  30.  
  31.     /* no trailing spaces: */
  32.     while (pc>s && isspace(*(pc-1)))
  33.     pc--;
  34.     *pc = 0;
  35.  
  36.     /* no leading spaces: */
  37.     while (*s == ' ') {
  38.     for (pc=s; *pc; pc++)
  39.         *pc = *(pc+1);
  40.     }
  41.  
  42.     /* no double blanks */
  43.     for (; *s;) {
  44.     if (*s == ' ' && *(s+1) == ' ') {
  45.         for (pc=s; *pc; pc++)
  46.         *pc = *(pc+1);
  47.     }
  48.     else s++;
  49.     }
  50. }
  51.  
  52. void
  53. sharelist(place)
  54. int place;
  55. {
  56.     int i, rm, room;
  57.     char *rmalias, *rmname;
  58.  
  59.     getNet(place);
  60.     for (rm=i=0; i<SHARED_ROOMS; i++)  {
  61.     room = netBuf.shared[i].NRidx;
  62.     if (room >= 0 && roomTab[room].rtgen == netBuf.shared[i].NRgen) {
  63.         if (private || readbit(roomTab[room],PUBLIC)) {
  64.         rmname = roomTab[room].rtname;
  65.         rmalias= chk_alias(net_alias, place, rmname);
  66.  
  67.         if (rm == 0)
  68.             printf(" %s", netBuf.netName);
  69.         printf( (rmname!=rmalias) ? "%s %s(%s)" : "%s %s",
  70.             (rm%3 == 0) ? "\n\t" : ",", rmname, rmalias);
  71.         if (netBuf.shared[i].NRhub)
  72.             putchar('*');
  73.         rm++;
  74.         }
  75.     }
  76.     }
  77.     if (rm > 0)
  78.     putchar('\n');
  79. }
  80.  
  81. main(argc, argv)
  82. char **argv;
  83. {
  84.     register i;
  85.     PATHBUF temp;
  86.  
  87.     if (argc > 1 && stricmp(argv[1], "-P") == 0)
  88.     private = NO;
  89.  
  90.     if (readSysTab(FALSE)) {
  91.     
  92.     printf("%s for %s (Fnordadel V%s)\n", program,
  93.         &cfg.codeBuf[cfg.nodeName], VERSION);
  94.     initnetBuf(&netBuf);
  95.  
  96.     ctdlfile(temp, cfg.netdir, "ctdlnet.sys");
  97.     if ((netfl = dopen(temp, O_RDWR)) < 0)
  98.         crashout("can't open netfile");
  99.  
  100.     ctdlfile(temp, cfg.netdir, "alias.sys");
  101.     net_alias = load_alias(temp);
  102.  
  103.     for (i=0; i<cfg.netSize; i++)
  104.         if readbit(netTab[i],N_INUSE)
  105.         sharelist(i);
  106.  
  107.     }
  108.     if (fromdesk())
  109.     hitkey();
  110. }
  111.